﻿/**
 * JS con las constantes utilizadas para el manejo de los JSON de configuración de fusion tables
 */
define([], function(){

	/**
	 * Nombre de la tabla
	 **/
	var TABLA_NOMBRE		= "Nombre";
	
	/**
	 * Alias de la tabla
	 **/
	var TABLA_ALIAS 		= "AliasTabla";
	
	/**
	 * Descripción de la tabla
	 **/
	var TABLA_DESCRIPCION 	= "DescripcionTabla";
	
	/**
	 * Código de la tabla en google fusion tables
	 **/
	var TABLA_COD_FUSION	= "CodigoTablaFusion";
	
	/**
	 * Identificador del div del grid de la tabla
	 **/
	var TABLA_DIV_ID		= "DivId";
	
	/**
	 * Nombre de la tabla
	 **/
	var TABLA_DIALOG_ID		= "DialogId";
	
	/**
	 * Nombre del campo que contiene el listado de campos de la tala
	 **/
	var TABLA_CAMPOS 		= "Campos";
	
	/**
	 * Nombre del campo en fusion tables
	 **/
	var CAMPOS_CODIGO 		= "CODIGO";
	
	/**
	 * Lo que se visualiza en el formulario al rellenar este valor
	 **/
	var CAMPOS_VISUALIZA 	= "VISUALIZA";
	
	/**
	 * Indica si es pk
	 **/
	var CAMPOS_ES_PK		= "ES_PK";
	
	/**
	 * Indica si es oculto en el listado del grid y en el formulario
	 **/
	var CAMPOS_ES_OCULTO	= "ES_OCULTO";
	
	/**
	 * Indica el tipo de datos que es, en fución del tipo el formulario es diferente
	 **/
	var CAMPOS_FUSION_TYPE	= "FUSION_TYPE";
	
	/**
	 * Inidica si el campo es editable
	 **/
	var CAMPOS_EDITABLE		= "EDITABLE";
	
	/**
	 * Indica si el campo es obligatorio
	 **/
	var CAMPOS_OBLIGATORIO  = "OBLIGATORIO";
	
	/**
	 * Indica si el campo tiene un valor por defecto
	 **/
	var CAMPOS_DEFAULT_VALUE= "DEFAULT_VALUE";
	
	/**
	 * Indica si el campo es insertable
	 **/
	var CAMPOS_INSERTABLE 	= "INSERTABLE";
	
	/**
	 * Indica si el campo se carga desde otro combo. Contiene el nombre de la tabla desde donde se carga. 
	 **/
	var CAMPOS_COMBO_TABLA	= "COMBO_TABLE"; //Nombre de la tabla desde la que cargamos el combo. Se debe corresponder
											// con el valor del campo "Nombre" de una de las tablas definidas.
	
	/**
	 * Indica si el campo de la tabla referenciada que se carga
	 **/
	var CAMPOS_COMBO_CAMPO	= "COMBO_CAMPO"; //Nombre del campo por el que se filtra el combo y que aparece al desplegar

	/**
	 * Indica si el campo se debe ocultar en el listado del grid. Pero si debe aparecer en el formulario
	 * de edición y alta. 
	 **/
	var CAMPOS_OCULTO_GRID = "OCULTO_GRID";
	
	
	//Tipologías de tipos de datos para fusion TAbles
	var FUSION_TYPE_NUMBER 		= "NUMBER";
	var FUSION_TYPE_TEXT 		= "TEXT";
	var FUSION_TYPE_DATETIME 	= "DATE";
	//Tipología de datos que permite guardar una dirección obtenida mediante el autocomplete de google places
	var FUSION_TYPE_LOCATION	= "LOCATION";
	
	//Tipología de datos que permite obtener un par de coordenadas desde un mapa de google maps
	var FUSION_TYPE_COORDINATES = "COORDINATES";
	
	//Tipo de dato para formulario que permitirá seleccionar un elemento de otra tabla (desplegable o algo similar)
	var FUSION_TYPE_COMBO		= "COMBO";
	
	//Tipo de dato para formulario que permitirá validar y guardar un email en un campo de texto
	var FUSION_TYPE_EMAIL		= "EMAIL";
	
	//Tipo de dato para formulario que permitirá validar y guardar un teléfono en un campo de texto
	var FUSION_TYPE_TELEFONO	= "TELEFONO";
	
	//Tipo de dato para formulario que permitirá validar y guardar un dni/nie en un campo de texto
	var FUSION_TYPE_DNI			= "DNI";
	
	//Tipo de dato para utilizar una textarea. Para campos de observaciones, etc.
	var FUSION_TYPE_TEXTAREA	= "TEXTAREA";
	
	/*******************************************************************************************
	 * Sección de parámetro para configurar las tablas que pueden gestionarse desde los menús  
	 *******************************************************************************************/
	
	//Nombre del parámetro donde está el listado de tablas a gestionar desde el menú
	var TABLAS_CONF_TABLAS			= "Tablas";
	
	//Breve descripción de la tabla
	var TABLAS_CONF_DESCRIPCION		= "Descripcion";
	
	//Parámetro de identificación, a partir del valor que tiene se carga la información de la tabla a gestionar
	var TABLAS_CONF_IDENTIFICADOR	= "IDENTIFICADOR";
	
	//Parámetro con el texto que debe aparecer en el menú
	var TABLAS_CONF_TEXTO			= "TEXTO";
	
	//Parámetro que contendrá el nombre del submenú donde agrupar la gestión de esta tabla
	var TABLAS_CONF_SUBMENU			= "SUBMENU";
	
	

	return{
		TABLA_NOMBRE		: TABLA_NOMBRE,
		TABLA_ALIAS 		: TABLA_ALIAS,
		TABLA_DESCRIPCION 	: TABLA_DESCRIPCION,
		TABLA_COD_FUSION 	: TABLA_COD_FUSION,
		TABLA_DIV_ID 		: TABLA_DIV_ID,
		TABLA_DIALOG_ID		: TABLA_DIALOG_ID,
		TABLA_CAMPOS 		: TABLA_CAMPOS,
		CAMPOS_CODIGO 		: CAMPOS_CODIGO,
		CAMPOS_VISUALIZA 	: CAMPOS_VISUALIZA,
		CAMPOS_ES_PK		: CAMPOS_ES_PK,
		CAMPOS_ES_OCULTO	: CAMPOS_ES_OCULTO,
		CAMPOS_FUSION_TYPE	: CAMPOS_FUSION_TYPE,
		CAMPOS_EDITABLE		: CAMPOS_EDITABLE,
		CAMPOS_OBLIGATORIO  : CAMPOS_OBLIGATORIO,
		CAMPOS_DEFAULT_VALUE: CAMPOS_DEFAULT_VALUE,
		CAMPOS_INSERTABLE	: CAMPOS_INSERTABLE,
		FUSION_TYPE_NUMBER 	: FUSION_TYPE_NUMBER,
		FUSION_TYPE_TEXT 	: FUSION_TYPE_TEXT,
		FUSION_TYPE_DATETIME : FUSION_TYPE_DATETIME,
		FUSION_TYPE_LOCATION : FUSION_TYPE_LOCATION,
		FUSION_TYPE_COORDINATES : FUSION_TYPE_COORDINATES,
		FUSION_TYPE_COMBO	: FUSION_TYPE_COMBO,
		FUSION_TYPE_EMAIL	: FUSION_TYPE_EMAIL,
		FUSION_TYPE_TELEFONO: FUSION_TYPE_TELEFONO,
		FUSION_TYPE_DNI		: FUSION_TYPE_DNI,
		FUSION_TYPE_TEXTAREA: FUSION_TYPE_TEXTAREA,
		CAMPOS_COMBO_TABLA	: CAMPOS_COMBO_TABLA,
		CAMPOS_COMBO_CAMPO	: CAMPOS_COMBO_CAMPO,
		TABLAS_CONF_TABLAS	: TABLAS_CONF_TABLAS,
		TABLAS_CONF_DESCRIPCION : TABLAS_CONF_DESCRIPCION,
		TABLAS_CONF_IDENTIFICADOR :	TABLAS_CONF_IDENTIFICADOR,
		TABLAS_CONF_TEXTO : TABLAS_CONF_TEXTO,
		TABLAS_CONF_SUBMENU : TABLAS_CONF_SUBMENU,
		CAMPOS_OCULTO_GRID  : CAMPOS_OCULTO_GRID
	};
});



